Disk drives are commonly employed in workstations, personal computers, portables and other computer systems to store large amounts of data in a readily-available form. A disk drive comprises a head stack assembly (HSA) having a head element which hovers near a disk surface during the rotation of the disk to perform read/write operations on the disk surface. The read/write operations are performed on concentric tracks formed on the disk surface on which the data is stored. For a successful read/write operation to occur, the head must be properly positioned over a desired track and to remain on track while the read/write operation is performed. During the read/write operations, however, various types of errors and other factors may cause the head to become off-track so a periodic determination of the position of the head relative to the track is also performed. The determination is based on a set of embedded servo-fields, such as servo-wedges, that are formed on the disk surface during manufacturing. The servo-fields partition the tracks at regular intervals and provide information to a disk drive control system which uses the information to determine the position of the head relative to a track and, in case of an off-track determination, attempts to move the head to an on-track position.
One class of errors which causes the head to apparently become off-track during the read/write operations is known as repeatable runout. The repeatable runout errors occur because a servo track was not formed as a perfect circular path on the disk surface, thus causing a track's path to deviate in respect to the stationary head positioned near the track during the disk rotations. Because the path's imperfection—i.e. runout—is permanently stored in the written servo track, the imperfection is repeatable. If the disk drive control system attempts to follow the imperfect path of the servo track the servo system may be challenged to maintain control of the head position within desired limits.
Currently, one common method to compensate for the repeatable runout errors is by estimating the runout components of each track in an iterative fashion and storing compensation values based on the estimation. The compensation values are then used to distinguish between actual off-track motion of the head and apparent motion owing to the runout. Unfortunately, since each track potentially has unique runout characteristics, the process is time consuming, particularly since each generation of disk drive areal density adds thousands of tracks to the disk surface.
Accordingly, what is needed is a method for reducing the time required for estimating repeatable runout errors in a disk drive.